// pages/index/note.js
const NoteService = require('../../services/note');

Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 表单数据
    formData: {
      phone: '',
      content: ''
    },
    // 提交状态
    submitting: false,
    // 弹窗状态
    showSuccessDialog: false,
    showErrorDialog: false,
    errorMessage: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 页面加载时的初始化
    this.initPage();
  },

  /**
   * 初始化页面
   */
  initPage() {
    // 可以在这里进行一些初始化操作
    console.log('合作意向页面初始化');
  },

  /**
   * 手机号输入变化处理
   */
  onPhoneChange(event) {
    const phone = event.detail;
    this.setData({
      'formData.phone': phone
    });
  },

  /**
   * 合作意向内容输入变化处理
   */
  onContentChange(event) {
    const content = event.detail;
    this.setData({
      'formData.content': content
    });
  },

  /**
   * 提交合作意向
   */
  async submitNote() {
    const { phone, content } = this.data.formData;

    // 表单验证
    if (!this.validateForm()) {
      return;
    }

    // 设置提交状态
    this.setData({
      submitting: true
    });

    try {
      // 调用API提交合作意向
      const result = await NoteService.submitNote({
        phone,
        content,
        showLoading: false // 我们自己控制loading状态
      });

      if (result.success) {
        // 提交成功
        this.setData({
          showSuccessDialog: true,
          submitting: false
        });
        
        // 清空表单
        this.resetForm();
      } else {
        // 提交失败
        this.setData({
          showErrorDialog: true,
          errorMessage: result.message,
          submitting: false
        });
      }
    } catch (error) {
      console.error('提交合作意向失败:', error);
      this.setData({
        showErrorDialog: true,
        errorMessage: '网络错误，请稍后重试',
        submitting: false
      });
    }
  },

  /**
   * 表单验证
   */
  validateForm() {
    const { phone, content } = this.data.formData;

    // 验证手机号
    if (!phone) {
      this.showError('请输入手机号');
      return false;
    }

    // 验证手机号格式
    const phoneRegex = /^1[3-9]\d{9}$/;
    if (!phoneRegex.test(phone)) {
      this.showError('请输入正确的手机号');
      return false;
    }

    // 验证合作意向内容
    if (!content) {
      this.showError('请输入合作意向内容');
      return false;
    }

    if (content.length < 10) {
      this.showError('合作意向内容至少需要10个字符');
      return false;
    }

    return true;
  },

  /**
   * 显示错误信息
   */
  showError(message) {
    this.setData({
      showErrorDialog: true,
      errorMessage: message
    });
  },

  /**
   * 重置表单
   */
  resetForm() {
    this.setData({
      formData: {
        phone: '',
        content: ''
      }
    });
  },

  /**
   * 成功弹窗确认处理
   */
  onSuccessConfirm() {
    this.setData({
      showSuccessDialog: false
    });
    
    // 可以在这里添加其他成功后的操作
    // 比如跳转到其他页面或显示其他信息
  },

  /**
   * 错误弹窗确认处理
   */
  onErrorConfirm() {
    this.setData({
      showErrorDialog: false,
      errorMessage: ''
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})